package com.zcsy.manage.service.mall;

import java.util.List;

import com.zcsy.manage.model.mall.GoodsSpecification;

/**
 * @Title: IGoodsSpecificationService.java
 * @Package： com.zcsy.manage.service.mall 
 * @Description: 商品规格service层接口
 *
 * @author caiyinli 13277030520@163.com
 * @Copyright: 2015 武汉中财数元信息技术有限公司 All rights reserved.
 * @date 2016年5月12日
 * @version 1.0
 * @see JDK1.7.0_75
 * @since
 */
public interface IGoodsSpecificationService {

    /**
     * @Description 通过商品Id查询该商品的规格信息<br>
     * 
     * @param goodsId 商品Id
     * @return 
     * @author caiyinli 13277030520@163.com
     * @date 2016年5月12日
     * @see 
     */
    List<GoodsSpecification> getGoodsSpecificationByGoodsId(String goodsId);
    
    /**
     * @Description 根据规格ID查询规格信息<br>
     * 
     * @param id 规格ID
     * @return 
     * @author caiyinli 13277030520@163.com
     * @date 2016年5月12日
     * @see 
     */
    GoodsSpecification getGoodsSpecificationById(String id);
    
    /**
     * @Description 新增商品规格信息<br>
     * 
     * @param specification 商品规格
     * @return 
     * @author caiyinli 13277030520@163.com
     * @date 2016年5月12日
     * @see 
     */
    int insert(GoodsSpecification specification);
    
    /**
     * @Description 更新商品规格信息<br>
     * 
     * @param specification 商品规格
     * @return 
     * @author caiyinli 13277030520@163.com
     * @date 2016年5月12日
     * @see 
     */
    int update(GoodsSpecification specification);
    
    /**
     * @Description 根据id更新商品规格信息<br>
     * 
     * @param record 商品规格信息
     * @return 
     * @author caiyinli 13277030520@163.com
     * @date 2016年5月12日
     * @see 
     */
    int updateGoodsSpecificationById(GoodsSpecification record);
    
    /**
     * 根据商品id查询商品规格信息
     * @Method: getGoodsSpecificationDeailByGoodsId
     * @param goodsId
     * @date 2016年8月23日
     */
    List<GoodsSpecification> getGoodsSpecificationDetailByGoodsId(String goodsId);
    
    /**
     * 查询商品详情时获取默认选中的规格信息
     * @Method: getDefaultGoodsSpec
     * @param goodsId 商品id
     * @author hubing
     */
    GoodsSpecification getDefaultGoodsSpec(String goodsId);
    
    /**
     * 根据选择的规格值获取商品规格信息
     * @Method: getGoodsSpedByAttr
     * @param goodsId 商品id
     * @param attrIds 规格值，以“,”隔开
     * @author hubing
     */
    GoodsSpecification getGoodsSpedByAttr(String goodsId, String attrValues);
    
    /**
     * 根据规格id查询商品规格信息
     * @Method: getGoodsSpecById
     * @param specId 商品规格id
     * @author hubing
     */
    GoodsSpecification getGoodsSpecById(String specId);
}
